package com.wjh.user.request;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;

/**
 * 更新用户可用金额 请求参数
 * 
 * @author wenjianhai
 * @date 2023/6/29
 * @since JDK 17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Builder
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@NoArgsConstructor
public class UpdateAmountRequest implements Serializable {
	@Serial
	private static final long serialVersionUID = -3212261553698605165L;

	/** 用户编码 */
	@NotBlank(message = "用户编码不能为空")
	private String userCode;

	/** 金额（单位：分） */
	@NotNull(message = "金额不能为空")
	@Min(value = 1, message = "金额不能少于1分")
	private Long amount;

	/** 标识（1:增加, 2:扣除） */
	@NotNull(message = "标识不能为空")
	private Integer flag;

	/** 功能名称 */
	@NotBlank(message = "功能名称不能为空")
	private String tip;
}
